ace.define("ace/mode/less",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/less_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,r){var n=e("../lib/oop"),o=e("./text").Mode,i=e("./less_highlight_rules").LessHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=i,this.$outdent=new a,this.$behaviour=new s,this.foldingRules=new l};n.inherits(u,o),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,r){var n=this.$getIndent(t),o=this.getTokenizer().getLineTokens(t,e).tokens;if(o.length&&"comment"==o[o.length-1].type)return n;var i=t.match(/^.*\{\s*$/);return i&&(n+=r),n},this.checkOutdent=function(e,t,r){return this.$outdent.checkOutdent(t,r)},this.autoOutdent=function(e,t,r){this.$outdent.autoOutdent(t,r)},this.$id="ace/mode/less"}.call(u.prototype),t.Mode=u}),ace.define("ace/mode/less_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,r){var n=e("../lib/oop"),o=e("../lib/lang"),i=e("./text_highlight_rules").TextHighlightRules,a=function(){var e=o.arrayToMap(function(){for(var e="-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-".split("|"),t="appearance|background-clip|background-inline-policy|background-origin|background-size|binding|border-bottom-colors|border-left-colors|border-right-colors|border-top-colors|border-end|border-end-color|border-end-style|border-end-width|border-image|border-start|border-start-color|border-start-style|border-start-width|box-align|box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|box-pack|box-sizing|column-count|column-gap|column-width|column-rule|column-rule-width|column-rule-style|column-rule-color|float-edge|font-feature-settings|font-language-override|force-broken-image-icon|image-region|margin-end|margin-start|opacity|outline|outline-color|outline-offset|outline-radius|outline-radius-bottomleft|outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|outline-style|outline-width|padding-end|padding-start|stack-sizing|tab-size|text-blink|text-decoration-color|text-decoration-line|text-decoration-style|transform|transform-origin|transition|transition-delay|transition-duration|transition-property|transition-timing-function|user-focus|user-input|user-modify|user-select|window-shadow|border-radius".split("|"),r="azimuth|background-attachment|background-color|background-image|background-position|background-repeat|background|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-collapse|border-color|border-left-color|border-left-style|border-left-width|border-left|border-right-color|border-right-style|border-right-width|border-right|border-spacing|border-style|border-top-color|border-top-style|border-top-width|border-top|border-width|border|bottom|box-sizing|caption-side|clear|clip|color|content|counter-increment|counter-reset|cue-after|cue-before|cue|cursor|direction|display|elevation|empty-cells|float|font-family|font-size-adjust|font-size|font-stretch|font-style|font-variant|font-weight|font|height|left|letter-spacing|line-height|list-style-image|list-style-position|list-style-type|list-style|margin-bottom|margin-left|margin-right|margin-top|marker-offset|margin|marks|max-height|max-width|min-height|min-width|opacity|orphans|outline-color|outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|padding-left|padding-right|padding-top|padding|page-break-after|page-break-before|page-break-inside|page|pause-after|pause-before|pause|pitch-range|pitch|play-during|position|quotes|richness|right|size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|stress|table-layout|text-align|text-decoration|text-indent|text-shadow|text-transform|top|unicode-bidi|vertical-align|visibility|voice-family|volume|white-space|widows|width|word-spacing|z-index".split("|"),n=[],o=0,i=e.length;i>o;o++)Array.prototype.push.apply(n,(e[o]+t.join("|"+e[o])).split("|"));return Array.prototype.push.apply(n,t),Array.prototype.push.apply(n,r),n}()),t=o.arrayToMap("hsl|hsla|rgb|rgba|url|attr|counter|counters|lighten|darken|saturate|desaturate|fadein|fadeout|fade|spin|mix|hue|saturation|lightness|alpha|round|ceil|floor|percentage|color|iscolor|isnumber|isstring|iskeyword|isurl|ispixel|ispercentage|isem".split("|")),r=o.arrayToMap("absolute|all-scroll|always|armenian|auto|baseline|below|bidi-override|block|bold|bolder|border-box|both|bottom|break-all|break-word|capitalize|center|char|circle|cjk-ideographic|col-resize|collapse|content-box|crosshair|dashed|decimal-leading-zero|decimal|default|disabled|disc|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ellipsis|fixed|georgian|groove|hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|inherit|inline-block|inline|inset|inside|inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|keep-all|left|lighter|line-edge|line-through|line|list-item|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|nw-resize|none|normal|not-allowed|nowrap|oblique|outset|outside|overline|pointer|progress|relative|repeat-x|repeat-y|repeat|right|ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|solid|square|static|strict|super|sw-resize|table-footer-group|table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|zero".split("|")),n=o.arrayToMap("aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow".split("|")),i=o.arrayToMap("@mixin|@extend|@include|@import|@media|@debug|@warn|@if|@for|@each|@while|@else|@font-face|@-webkit-keyframes|if|and|!default|module|def|end|declare|when|not|and".split("|")),a=o.arrayToMap("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp".split("|")),s="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:s+"(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:"constant.numeric",regex:s},{token:function(e){return i.hasOwnProperty(e)?"keyword":"variable"},regex:"@[a-z0-9_\\-@]*\\b"},{token:function(o){return e.hasOwnProperty(o.toLowerCase())?"support.type":i.hasOwnProperty(o)?"keyword":r.hasOwnProperty(o)?"constant.language":t.hasOwnProperty(o)?"support.function":n.hasOwnProperty(o.toLowerCase())?"support.constant.color":a.hasOwnProperty(o.toLowerCase())?"variable.language":"text"},regex:"\\-?[@a-z_][@a-z0-9_\\-]*"},{token:"variable.language",regex:"#[a-z0-9-_]+"},{token:"variable.language",regex:"\\.[a-z0-9-_]+"},{token:"variable.language",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{token:"keyword.operator",regex:"<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]}};n.inherits(a,i),t.LessHighlightRules=a}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,r){var n=e("../range").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var r=e.getLine(t),o=r.match(/^(\s*\})/);if(!o)return 0;var i=o[1].length,a=e.findMatchingBracket({row:t,column:i});if(!a||a.row==t)return 0;var s=this.$getIndent(e.getLine(a.row));e.replace(new n(t,0,t,i-1),s)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,r){var n=e("../../lib/oop"),o=e("../behaviour").Behaviour,i=e("./cstyle").CstyleBehaviour,a=e("../../token_iterator").TokenIterator,s=function(){this.inherit(i),this.add("colon","insertion",function(e,t,r,n,o){if(":"===o){var i=r.getCursorPosition(),s=new a(n,i.row,i.column),l=s.getCurrentToken();if(l&&l.value.match(/\s+/)&&(l=s.stepBackward()),l&&"support.type"===l.type){var u=n.doc.getLine(i.row),c=u.substring(i.column,i.column+1);if(":"===c)return{text:"",selection:[1,1]};if(!u.substring(i.column).match(/^\s*;/))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,r,n,o){var i=n.doc.getTextRange(o);if(!o.isMultiLine()&&":"===i){var s=r.getCursorPosition(),l=new a(n,s.row,s.column),u=l.getCurrentToken();if(u&&u.value.match(/\s+/)&&(u=l.stepBackward()),u&&"support.type"===u.type){var c=n.doc.getLine(o.start.row),d=c.substring(o.end.column,o.end.column+1);if(";"===d)return o.end.column++,o}}}),this.add("semicolon","insertion",function(e,t,r,n,o){if(";"===o){var i=r.getCursorPosition(),a=n.doc.getLine(i.row),s=a.substring(i.column,i.column+1);if(";"===s)return{text:"",selection:[1,1]}}})};n.inherits(s,i),t.CssBehaviour=s}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,r){var n=e("../../lib/oop"),o=e("../behaviour").Behaviour,i=e("../../token_iterator").TokenIterator,a=e("../../lib/lang"),s=["text","paren.rparen","punctuation.operator"],l=["text","paren.rparen","punctuation.operator","comment"],u,c={},d=function(e){var t=-1;return e.multiSelect&&(t=e.selection.id,c.rangeCount!=e.multiSelect.rangeCount&&(c={rangeCount:e.multiSelect.rangeCount})),c[t]?u=c[t]:void(u=c[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""})},g=function(){this.add("braces","insertion",function(e,t,r,n,o){var i=r.getCursorPosition(),s=n.doc.getLine(i.row);if("{"==o){d(r);var l=r.getSelectionRange(),c=n.doc.getTextRange(l);if(""!==c&&"{"!==c&&r.getWrapBehavioursEnabled())return{text:"{"+c+"}",selection:!1};if(g.isSaneInsertion(r,n))return/[\]\}\)]/.test(s[i.column])||r.inMultiSelectMode?(g.recordAutoInsert(r,n,"}"),{text:"{}",selection:[1,1]}):(g.recordMaybeInsert(r,n,"{"),{text:"{",selection:[1,1]})}else if("}"==o){d(r);var p=s.substring(i.column,i.column+1);if("}"==p){var h=n.$findOpeningBracket("}",{column:i.column+1,row:i.row});if(null!==h&&g.isAutoInsertedClosing(i,s,o))return g.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if("\n"==o||"\r\n"==o){d(r);var m="";g.isMaybeInsertedClosing(i,s)&&(m=a.stringRepeat("}",u.maybeInsertedBrackets),g.clearMaybeInsertedClosing());var p=s.substring(i.column,i.column+1);if("}"===p){var b=n.findMatchingBracket({row:i.row,column:i.column+1},"}");if(!b)return null;var f=this.$getIndent(n.getLine(b.row))}else{if(!m)return void g.clearMaybeInsertedClosing();var f=this.$getIndent(s)}var k=f+n.getTabString();return{text:"\n"+k+"\n"+f+m,selection:[1,k.length,1,k.length]}}g.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(e,t,r,n,o){var i=n.doc.getTextRange(o);if(!o.isMultiLine()&&"{"==i){d(r);var a=n.doc.getLine(o.start.row),s=a.substring(o.end.column,o.end.column+1);if("}"==s)return o.end.column++,o;u.maybeInsertedBrackets--}}),this.add("parens","insertion",function(e,t,r,n,o){if("("==o){d(r);var i=r.getSelectionRange(),a=n.doc.getTextRange(i);if(""!==a&&r.getWrapBehavioursEnabled())return{text:"("+a+")",selection:!1};if(g.isSaneInsertion(r,n))return g.recordAutoInsert(r,n,")"),{text:"()",selection:[1,1]}}else if(")"==o){d(r);var s=r.getCursorPosition(),l=n.doc.getLine(s.row),u=l.substring(s.column,s.column+1);if(")"==u){var c=n.$findOpeningBracket(")",{column:s.column+1,row:s.row});if(null!==c&&g.isAutoInsertedClosing(s,l,o))return g.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(e,t,r,n,o){var i=n.doc.getTextRange(o);if(!o.isMultiLine()&&"("==i){d(r);var a=n.doc.getLine(o.start.row),s=a.substring(o.start.column+1,o.start.column+2);if(")"==s)return o.end.column++,o}}),this.add("brackets","insertion",function(e,t,r,n,o){if("["==o){d(r);var i=r.getSelectionRange(),a=n.doc.getTextRange(i);if(""!==a&&r.getWrapBehavioursEnabled())return{text:"["+a+"]",selection:!1};if(g.isSaneInsertion(r,n))return g.recordAutoInsert(r,n,"]"),{text:"[]",selection:[1,1]}}else if("]"==o){d(r);var s=r.getCursorPosition(),l=n.doc.getLine(s.row),u=l.substring(s.column,s.column+1);if("]"==u){var c=n.$findOpeningBracket("]",{column:s.column+1,row:s.row});if(null!==c&&g.isAutoInsertedClosing(s,l,o))return g.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(e,t,r,n,o){var i=n.doc.getTextRange(o);if(!o.isMultiLine()&&"["==i){d(r);var a=n.doc.getLine(o.start.row),s=a.substring(o.start.column+1,o.start.column+2);if("]"==s)return o.end.column++,o}}),this.add("string_dquotes","insertion",function(e,t,r,n,o){if('"'==o||"'"==o){d(r);var i=o,a=r.getSelectionRange(),s=n.doc.getTextRange(a);if(""!==s&&"'"!==s&&'"'!=s&&r.getWrapBehavioursEnabled())return{text:i+s+i,selection:!1};var l=r.getCursorPosition(),u=n.doc.getLine(l.row),c=u.substring(l.column-1,l.column);if("\\"==c)return null;for(var p=n.getTokens(a.start.row),h=0,m,b=-1,f=0;f<p.length&&(m=p[f],"string"==m.type?b=-1:0>b&&(b=m.value.indexOf(i)),!(m.value.length+h>a.start.column));f++)h+=p[f].value.length;if(!m||0>b&&"comment"!==m.type&&("string"!==m.type||a.start.column!==m.value.length+h-1&&m.value.lastIndexOf(i)===m.value.length-1)){if(!g.isSaneInsertion(r,n))return;return{text:i+i,selection:[1,1]}}if(m&&"string"===m.type){var k=u.substring(l.column,l.column+1);if(k==i)return{text:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(e,t,r,n,o){var i=n.doc.getTextRange(o);if(!o.isMultiLine()&&('"'==i||"'"==i)){d(r);var a=n.doc.getLine(o.start.row),s=a.substring(o.start.column+1,o.start.column+2);if(s==i)return o.end.column++,o}})};g.isSaneInsertion=function(e,t){var r=e.getCursorPosition(),n=new i(t,r.row,r.column);if(!this.$matchTokenType(n.getCurrentToken()||"text",s)){var o=new i(t,r.row,r.column+1);if(!this.$matchTokenType(o.getCurrentToken()||"text",s))return!1}return n.stepForward(),n.getCurrentTokenRow()!==r.row||this.$matchTokenType(n.getCurrentToken()||"text",l)},g.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},g.recordAutoInsert=function(e,t,r){var n=e.getCursorPosition(),o=t.doc.getLine(n.row);this.isAutoInsertedClosing(n,o,u.autoInsertedLineEnd[0])||(u.autoInsertedBrackets=0),u.autoInsertedRow=n.row,u.autoInsertedLineEnd=r+o.substr(n.column),u.autoInsertedBrackets++},g.recordMaybeInsert=function(e,t,r){var n=e.getCursorPosition(),o=t.doc.getLine(n.row);this.isMaybeInsertedClosing(n,o)||(u.maybeInsertedBrackets=0),u.maybeInsertedRow=n.row,u.maybeInsertedLineStart=o.substr(0,n.column)+r,u.maybeInsertedLineEnd=o.substr(n.column),u.maybeInsertedBrackets++},g.isAutoInsertedClosing=function(e,t,r){return u.autoInsertedBrackets>0&&e.row===u.autoInsertedRow&&r===u.autoInsertedLineEnd[0]&&t.substr(e.column)===u.autoInsertedLineEnd},g.isMaybeInsertedClosing=function(e,t){return u.maybeInsertedBrackets>0&&e.row===u.maybeInsertedRow&&t.substr(e.column)===u.maybeInsertedLineEnd&&t.substr(0,e.column)==u.maybeInsertedLineStart},g.popAutoInsertedClosing=function(){u.autoInsertedLineEnd=u.autoInsertedLineEnd.substr(1),u.autoInsertedBrackets--},g.clearMaybeInsertedClosing=function(){u&&(u.maybeInsertedBrackets=0,u.maybeInsertedRow=-1)},n.inherits(g,o),t.CstyleBehaviour=g}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,r){var n=e("../../lib/oop"),o=e("../../range").Range,i=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};n.inherits(a,i),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,r,n){var o=e.getLine(r),i=o.match(this.foldingStartMarker);if(i){var a=i.index;if(i[1])return this.openingBracketBlock(e,i[1],r,a);var s=e.getCommentFoldRange(r,a+i[0].length,1);return s&&!s.isMultiLine()&&(n?s=this.getSectionRange(e,r):"all"!=t&&(s=null)),s}if("markbegin"!==t){var i=o.match(this.foldingStopMarker);if(i){var a=i.index+i[0].length;return i[1]?this.closingBracketBlock(e,i[1],r,a):e.getCommentFoldRange(r,a,-1)}}},this.getSectionRange=function(e,t){var r=e.getLine(t),n=r.search(/\S/),i=t,a=r.length;t+=1;for(var s=t,l=e.getLength();++t<l;){r=e.getLine(t);var u=r.search(/\S/);if(-1!==u){if(n>u)break;var c=this.getFoldWidgetRange(e,"all",t);if(c){if(c.start.row<=i)break;if(c.isMultiLine())t=c.end.row;else if(n==u)break}s=t}}return new o(i,a,s,e.getLine(s).length)}}.call(a.prototype)});